package common.util.generate.properties;

import lombok.Data;

import java.io.Serializable;

/**
 * @author liubo
 * @created 2020-06-15 17:09
 */
@Data
public class InfoProperties implements Serializable {

    /**
     * 需要去除的前缀
     */
    private String prefix="";
    /**
     * 需要生成实体类的表名
     */
    private String entityTableName="";
    /**
     * 模块
     */
    private String model="";
    /**
     * 公共字段 多个用','隔开
     */
    private String commonFields;
    /**
     * 生成文件放的公用路径
     */
    private String baseSavePackagePath = "";
    /**
     * 文件保存的绝对路径
     */
    private String absoluteSavePath;



    /**
     * 生成entity的全路径和名称
     * "entity.&entity&.java";
     */
    private String entityPackagePath;
    /**
     * entity 文件保存的绝对路径
     */
    private String entityAbsoluteSavePath;
    /**
     * 单独生成entity文件
     */
    private Boolean entityGenerate;
    /**
     *  entity父类
     */
    private String entitySuperClassName;



    /**
     * 生成param的全路径和名称
     * "param.&entity&Param.java";
     */
    private String paramPackagePath;
    /**
     * param 文件保存的绝对路径
     */
    private String paramAbsoluteSavePath;
    /**
     * 单独生成param文件
     */
    private Boolean paramGenerate;

    /**
     * 生成vo的全路径和名称
     * "vo.&entity&Vo.java";
     */
    private String voPackagePath;
    /**
     * vo 文件保存的绝对路径
     */
    private String voAbsoluteSavePath;
    /**
     * 单独生成vo文件
     */
    private Boolean voGenerate;

    /**
     * 生成queryForOneRowParam的全路径和名称
     * "param.&entity&QueryForOneRowParam.java";
     */
    private String queryForOneRowParamPackagePath;
    /**
     * queryForOneRowParam 文件保存的绝对路径
     */
    private String queryForOneRowParamAbsoluteSavePath;
    /**
     * 单独生成queryForOneRowParam文件
     */
    private Boolean queryForOneRowParamGenerate;


    /**
     * 生成 queryPageParam 的全路径和名称
     * "param.&entity&QueryPageParam.java";
     */
    private String queryPageParamPackagePath;
    /**
     * queryPageParam 文件保存的绝对路径
     */
    private String queryPageParamAbsoluteSavePath;
    /**
     * 单独生成 queryPageParam文件
     */
    private Boolean queryPageParamGenerate;




    /**
     * 生成service的全路径和名称
     * service.&entity&Service.java
     */
    private String servicePackagePath;
    /**
     * service 文件保存的绝对路径
     */
    private String serviceAbsoluteSavePath;
    /**
     * 单独生成service文件
     */
    private Boolean serviceGenerate;
    /**
     * service父类
     */
    private String serviceSuperClassName;


    /**
     * 生成serviceImpl的全路径和名称
     * service.impl.&entity&ServiceImpl.java
     */
    private String serviceImplPackagePath;
    /**
     * serviceImpl 文件保存的绝对路径
     */
    private String serviceImpAbsolutelSavePath;
    /**
     * 单独生成serviceImpl文件
     */
    private Boolean serviceImplGenerate;
    /**
     * serviceImpl父类
     */
    private String serviceImplSuperClassName;


    /**
     * 生成mapper的全路径和名称
     * mapper.&entity&Mapper.java
     */
    private String mapperPackagePath;

    /**
     * mapper 文件保存的绝对路径
     */
    private String mapperAbsoluteSavePath;
    /**
     * 单独生成mapper文件
     */
    private Boolean mapperGenerate;
    /**
     * mapper父类
     */
    private String mapperSuperClassName;


    /**
     * 生成controller的全路径和名称
     * controller.&entity&Controller.java
     */
    private String controllerPackagePath;

    /**
     * controller 文件保存的绝对路径
     */
    private String controllerAbsoluteSavePath;
    /**
     * 单独生成controller文件
     */
    private Boolean controllerGenerate;
    /**
     * controller父类
     */
    private String controllerSuperClassName;



    /**
     * 生成xml的全路径和名称
     * mapper.xml.&entity&Mapper.xml
     */
    private String xmlPackagePath;

    /**
     * xml 文件保存的绝对路径
     */
    private String xmlAbsoluteSavePath;
    /**
     * 单独生成controller文件
     */
    private Boolean xmlGenerate;



    /**
     * 生成help的全路径和名称
     * entity.help.&entity&Help.java
     */
    private String helpPackagePath;

    /**
     * help 文件保存的绝对路径
     */
    private String helpAbsoluteSavePath;
    /**
     * 单独生成controller文件
     */
    private Boolean helpGenerate;
    /**
     * helpS父类
     */
    private String helpSuperClassName;


    /**
     * 生成feign的全路径和名称
     * feign.&entity&Feign.java
     */
    private String feignPackagePath;

    /**
     * feign 文件保存的绝对路径
     */
    private String feignAbsoluteSavePath;
    /**
     * 单独生成feign文件
     */
    private Boolean feignGenerate;
    /**
     * feign父类
     */
    private String feignSuperClassName;

    /**
     * 生成feignFallback的全路径和名称
     * fallback.&entity&FeignFallback.java
     */
    private String feignFallbackPackagePath;

    /**
     * feignFallback 文件保存的绝对路径
     */
    private String feignFallbackAbsoluteSavePath;
    /**
     * 单独生成feignFallback文件
     */
    private Boolean feignFallbackGenerate;
    /**
     * feignFallback父类
     */
    private String feignFallbackSuperClassName;

}
